package huawei_nowcoder;

import java.util.Scanner;

/**
 * @Description: 字符串运用-密码截取
 * @Date: 2020/4/22
 * @Author: 许群星
 */
public class _31_StringInterceptPassword {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        while (sc.hasNext()){
            String str=sc.nextLine();
            int ans=0;

            int n=str.length();
            //以当前元素为中心分别寻找偶数最大长度和奇数的最大长度
            for (int i = 0; i < n; i++) {
                //以i-1,i为中心的偶数长度
                int low=i-1,high=i;
                while (low>=0&&high<n&&str.charAt(low)==str.charAt(high)){
                    low--;
                    high++;
                }
                ans=Math.max(high-low-1,ans);
                //以i为中心的奇数长度
                low=i-1;
                high=i+1;
                while (low>=0&&high<n&&str.charAt(low)==str.charAt(high)){
                    low--;
                    high++;
                }
                ans=Math.max(high-low-1,ans);

            }
            System.out.println(ans);
        }
    }
}
/*
题目描述
Catcher是MCA国的情报员，他工作时发现敌国会用一些对称的密码进行通信，比如像这些ABBA，ABA，A，123321，
但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214　。
因为截获的串太长了，而且存在多种可能的情况（abaaab可看作是aba,或baaab的加密形式），
Cathcer的工作量实在是太大了，他只能向电脑高手求助，你能帮Catcher找出最长的有效密码串吗？

输入描述:
输入一个字符串

输出描述:
返回有效密码串的最大长度

示例1
输入
复制
ABBA
输出
复制
4
 */